"""
类的属性： 包括类属性 和 实例的属性

类属性：类里面的变量（类变量）
类属性的获取 -- 类.属性名 类.类属性  / 实例对象.类属性
        修改 -- 类.属性名=xxx

实例属性：
    定义:__init__ 里面：self.属性名 = 属性值
    调用：  实例名臣。实例属性
"""
class BigBoss:
    # 类属性
    code='good'
    hair='less'
    hobby='宅'

    def __init__(self,name,food):
        # 实例属性的定义
        self.dalao_name = name
        self.dalao_food = food

        print("定义具体对象，这是初始化函数")
        return None  # 可以默认不写

    # 实例方法
    def hello(self):
        print(self.dalao_name,"实例方法，可以调用实例属性")

#调用整个类
print(BigBoss)

#使用类当中的一个成员 实例化
print(BigBoss())


#1.获取 类属性  类.类属性  / 实例对象.类属性

print(BigBoss.code)
# 2.修改类属性
BigBoss.code = 'bad'

# 3.实例对象    初始化对象，实际上是调用 定义的__init 函数
jixiang = BigBoss("jixiang","辣条")
print(jixiang.hair)

# 4. 调用实例的属性
print(jixiang.dalao_name)
#BigBoss.dalao_food   是获取不到的，因为是实例的属性

# 修改实例属性   实例属性.实例属性名 = 属性值

# 5. slef 指向实例对象，表示实例自己 ，类似prototype？

# 如果不清楚 定义为类属性 还是实例属性，可以先定义为 实例的，因为类 和对象都能访问


class Cat:
    def __init__(self,age,color):
        self.age = age
        self.color = color
        self.age = age
    def eat(self,food):
        print(food)
